(module binary
  "\00\61\73\6d\01\00\00\00\01\a1\80\80\80\00\07\60"
  "\03\7f\7f\7f\01\7f\60\00\00\60\00\01\7c\60\00\01"
  "\7f\60\00\01\7e\60\02\7f\7f\01\7f\60\00\01\7d\03"
  "\b8\80\80\80\00\37\01\01\01\01\01\01\02\03\03\01"
  "\03\01\01\01\03\03\03\03\03\01\03\03\04\03\03\04"
  "\03\05\05\05\05\03\00\03\03\03\03\03\03\03\03\06"
  "\04\03\03\03\03\06\03\04\03\03\03\03\03\04\85\80"
  "\80\80\00\01\70\01\01\01\05\83\80\80\80\00\01\00"
  "\01\07\89\87\80\80\00\35\08\74\79\70\65\2d\69\33"
  "\32\00\01\08\74\79\70\65\2d\69\36\34\00\02\08\74"
  "\79\70\65\2d\66\33\32\00\03\08\74\79\70\65\2d\66"
  "\36\34\00\04\07\6e\75\6c\6c\61\72\79\00\05\05\75"
  "\6e\61\72\79\00\06\0d\61\73\2d\66\75\6e\63\2d\66"
  "\69\72\73\74\00\07\0b\61\73\2d\66\75\6e\63\2d\6d"
  "\69\64\00\08\0c\61\73\2d\66\75\6e\63\2d\6c\61\73"
  "\74\00\09\0d\61\73\2d\66\75\6e\63\2d\76\61\6c\75"
  "\65\00\0a\0e\61\73\2d\62\6c\6f\63\6b\2d\66\69\72"
  "\73\74\00\0b\0c\61\73\2d\62\6c\6f\63\6b\2d\6d\69"
  "\64\00\0c\0d\61\73\2d\62\6c\6f\63\6b\2d\6c\61\73"
  "\74\00\0d\0e\61\73\2d\62\6c\6f\63\6b\2d\76\61\6c"
  "\75\65\00\0e\0d\61\73\2d\6c\6f\6f\70\2d\66\69\72"
  "\73\74\00\0f\0b\61\73\2d\6c\6f\6f\70\2d\6d\69\64"
  "\00\10\0c\61\73\2d\6c\6f\6f\70\2d\6c\61\73\74\00"
  "\11\0b\61\73\2d\62\72\2d\76\61\6c\75\65\00\12\0d"
  "\61\73\2d\62\72\5f\69\66\2d\63\6f\6e\64\00\13\0e"
  "\61\73\2d\62\72\5f\69\66\2d\76\61\6c\75\65\00\14"
  "\13\61\73\2d\62\72\5f\69\66\2d\76\61\6c\75\65\2d"
  "\63\6f\6e\64\00\15\11\61\73\2d\62\72\5f\74\61\62"
  "\6c\65\2d\69\6e\64\65\78\00\16\11\61\73\2d\62\72"
  "\5f\74\61\62\6c\65\2d\76\61\6c\75\65\00\17\17\61"
  "\73\2d\62\72\5f\74\61\62\6c\65\2d\76\61\6c\75\65"
  "\2d\69\6e\64\65\78\00\18\0f\61\73\2d\72\65\74\75"
  "\72\6e\2d\76\61\6c\75\65\00\19\0a\61\73\2d\69\66"
  "\2d\63\6f\6e\64\00\1a\0a\61\73\2d\69\66\2d\74\68"
  "\65\6e\00\1b\0a\61\73\2d\69\66\2d\65\6c\73\65\00"
  "\1c\0f\61\73\2d\73\65\6c\65\63\74\2d\66\69\72\73"
  "\74\00\1d\10\61\73\2d\73\65\6c\65\63\74\2d\73\65"
  "\63\6f\6e\64\00\1e\0e\61\73\2d\73\65\6c\65\63\74"
  "\2d\63\6f\6e\64\00\1f\0d\61\73\2d\63\61\6c\6c\2d"
  "\66\69\72\73\74\00\21\0b\61\73\2d\63\61\6c\6c\2d"
  "\6d\69\64\00\22\0c\61\73\2d\63\61\6c\6c\2d\6c\61"
  "\73\74\00\23\15\61\73\2d\63\61\6c\6c\5f\69\6e\64"
  "\69\72\65\63\74\2d\66\75\6e\63\00\24\16\61\73\2d"
  "\63\61\6c\6c\5f\69\6e\64\69\72\65\63\74\2d\66\69"
  "\72\73\74\00\25\14\61\73\2d\63\61\6c\6c\5f\69\6e"
  "\64\69\72\65\63\74\2d\6d\69\64\00\26\15\61\73\2d"
  "\63\61\6c\6c\5f\69\6e\64\69\72\65\63\74\2d\6c\61"
  "\73\74\00\27\12\61\73\2d\73\65\74\5f\6c\6f\63\61"
  "\6c\2d\76\61\6c\75\65\00\28\0f\61\73\2d\6c\6f\61"
  "\64\2d\61\64\64\72\65\73\73\00\29\10\61\73\2d\6c"
  "\6f\61\64\4e\2d\61\64\64\72\65\73\73\00\2a\10\61"
  "\73\2d\73\74\6f\72\65\2d\61\64\64\72\65\73\73\00"
  "\2b\0e\61\73\2d\73\74\6f\72\65\2d\76\61\6c\75\65"
  "\00\2c\11\61\73\2d\73\74\6f\72\65\4e\2d\61\64\64"
  "\72\65\73\73\00\2d\0f\61\73\2d\73\74\6f\72\65\4e"
  "\2d\76\61\6c\75\65\00\2e\10\61\73\2d\75\6e\61\72"
  "\79\2d\6f\70\65\72\61\6e\64\00\2f\0e\61\73\2d\62"
  "\69\6e\61\72\79\2d\6c\65\66\74\00\30\0f\61\73\2d"
  "\62\69\6e\61\72\79\2d\72\69\67\68\74\00\31\0f\61"
  "\73\2d\74\65\73\74\2d\6f\70\65\72\61\6e\64\00\32"
  "\0f\61\73\2d\63\6f\6d\70\61\72\65\2d\6c\65\66\74"
  "\00\33\10\61\73\2d\63\6f\6d\70\61\72\65\2d\72\69"
  "\67\68\74\00\34\12\61\73\2d\63\6f\6e\76\65\72\74"
  "\2d\6f\70\65\72\61\6e\64\00\35\13\61\73\2d\67\72"
  "\6f\77\5f\6d\65\6d\6f\72\79\2d\73\69\7a\65\00\36"
  "\09\87\80\80\80\00\01\00\41\00\0b\01\20\0a\c1\86"
  "\80\80\00\37\82\80\80\80\00\00\0b\85\80\80\80\00"
  "\00\0f\68\1a\0b\85\80\80\80\00\00\0f\7a\1a\0b\85"
  "\80\80\80\00\00\0f\8c\1a\0b\85\80\80\80\00\00\0f"
  "\9a\1a\0b\83\80\80\80\00\00\0f\0b\8c\80\80\80\00"
  "\00\44\00\00\00\00\00\00\08\40\0f\0b\87\80\80\80"
  "\00\00\41\01\0f\41\02\0b\89\80\80\80\00\00\10\00"
  "\41\02\0f\41\03\0b\86\80\80\80\00\00\01\10\00\0f"
  "\0b\88\80\80\80\00\00\01\10\00\41\03\0f\0b\88\80"
  "\80\80\00\00\02\40\0f\10\00\0b\0b\8a\80\80\80\00"
  "\00\02\40\10\00\0f\10\00\0b\0b\89\80\80\80\00\00"
  "\02\40\01\10\00\0f\0b\0b\8b\80\80\80\00\00\02\7f"
  "\01\10\00\41\02\0f\0b\0b\8a\80\80\80\00\00\03\7f"
  "\41\03\0f\41\02\0b\0b\8c\80\80\80\00\00\03\7f\10"
  "\00\41\04\0f\41\02\0b\0b\8b\80\80\80\00\00\03\7f"
  "\01\10\00\41\05\0f\0b\0b\8a\80\80\80\00\00\02\7f"
  "\41\09\0f\0c\00\0b\0b\88\80\80\80\00\00\02\40\0f"
  "\0d\00\0b\0b\8f\80\80\80\00\00\02\7f\41\08\0f\41"
  "\01\0d\00\1a\41\07\0b\0b\8f\80\80\80\00\00\02\7f"
  "\41\06\41\09\0f\0d\00\1a\41\07\0b\0b\8f\80\80\80"
  "\00\00\02\40\42\09\0f\0e\02\00\00\00\0b\42\7f\0b"
  "\91\80\80\80\00\00\02\7f\41\0a\0f\41\01\0e\02\00"
  "\00\00\41\07\0b\0b\90\80\80\80\00\00\02\7f\41\06"
  "\41\0b\0f\0e\01\00\00\41\07\0b\0b\86\80\80\80\00"
  "\00\42\07\0f\0f\0b\8d\80\80\80\00\00\41\02\0f\04"
  "\7f\41\00\05\41\01\0b\0b\8d\80\80\80\00\00\20\00"
  "\04\7f\41\03\0f\05\20\01\0b\0b\8d\80\80\80\00\00"
  "\20\00\04\7f\20\01\05\41\04\0f\0b\0b\8a\80\80\80"
  "\00\00\41\05\0f\20\00\20\01\1b\0b\8a\80\80\80\00"
  "\00\20\00\41\06\0f\20\01\1b\0b\8a\80\80\80\00\00"
  "\41\00\41\01\41\07\0f\1b\0b\84\80\80\80\00\00\41"
  "\7f\0b\8b\80\80\80\00\00\41\0c\0f\41\02\41\03\10"
  "\20\0b\8b\80\80\80\00\00\41\01\41\0d\0f\41\03\10"
  "\20\0b\8b\80\80\80\00\00\41\01\41\02\41\0e\0f\10"
  "\20\0b\8e\80\80\80\00\00\41\14\0f\41\01\41\02\41"
  "\03\11\00\00\0b\8e\80\80\80\00\00\41\00\41\15\0f"
  "\41\02\41\03\11\00\00\0b\8e\80\80\80\00\00\41\00"
  "\41\01\41\16\0f\41\03\11\00\00\0b\8e\80\80\80\00"
  "\00\41\00\41\01\41\02\41\17\0f\11\00\00\0b\8b\80"
  "\80\80\00\01\01\7d\41\11\0f\21\00\41\7f\0b\8b\80"
  "\80\80\00\00\43\9a\99\d9\3f\0f\2a\02\00\0b\88\80"
  "\80\80\00\00\42\1e\0f\30\00\00\0b\93\80\80\80\00"
  "\00\41\1e\0f\44\00\00\00\00\00\00\1c\40\39\03\00"
  "\41\7f\0b\8c\80\80\80\00\00\41\02\41\1f\0f\37\03"
  "\00\41\7f\0b\8c\80\80\80\00\00\41\20\0f\41\07\3a"
  "\00\00\41\7f\0b\8c\80\80\80\00\00\41\02\41\21\0f"
  "\3d\01\00\41\7f\0b\89\80\80\80\00\00\43\9a\99\59"
  "\40\0f\8c\0b\88\80\80\80\00\00\41\03\0f\41\0a\6a"
  "\0b\88\80\80\80\00\00\42\0a\42\2d\0f\7d\0b\86\80"
  "\80\80\00\00\41\2c\0f\45\0b\8f\80\80\80\00\00\41"
  "\2b\0f\44\00\00\00\00\00\00\24\40\65\0b\8b\80\80"
  "\80\00\00\43\00\00\20\41\41\2a\0f\5c\0b\86\80\80"
  "\80\00\00\41\29\0f\a7\0b\87\80\80\80\00\00\41\28"
  "\0f\40\00\0b"
)
(assert_return (invoke "type-i32"))
(assert_return (invoke "type-i64"))
(assert_return (invoke "type-f32"))
(assert_return (invoke "type-f64"))
(assert_return (invoke "nullary"))
(assert_return (invoke "unary") (f64.const 0x1.8p+1))
(assert_return (invoke "as-func-first") (i32.const 1))
(assert_return (invoke "as-func-mid") (i32.const 2))
(assert_return (invoke "as-func-last"))
(assert_return (invoke "as-func-value") (i32.const 3))
(assert_return (invoke "as-block-first"))
(assert_return (invoke "as-block-mid"))
(assert_return (invoke "as-block-last"))
(assert_return (invoke "as-block-value") (i32.const 2))
(assert_return (invoke "as-loop-first") (i32.const 3))
(assert_return (invoke "as-loop-mid") (i32.const 4))
(assert_return (invoke "as-loop-last") (i32.const 5))
(assert_return (invoke "as-br-value") (i32.const 9))
(assert_return (invoke "as-br_if-cond"))
(assert_return (invoke "as-br_if-value") (i32.const 8))
(assert_return (invoke "as-br_if-value-cond") (i32.const 9))
(assert_return (invoke "as-br_table-index") (i64.const 9))
(assert_return (invoke "as-br_table-value") (i32.const 10))
(assert_return (invoke "as-br_table-value-index") (i32.const 11))
(assert_return (invoke "as-return-value") (i64.const 7))
(assert_return (invoke "as-if-cond") (i32.const 2))
(assert_return (invoke "as-if-then" (i32.const 1) (i32.const 6)) (i32.const 3))
(assert_return (invoke "as-if-then" (i32.const 0) (i32.const 6)) (i32.const 6))
(assert_return (invoke "as-if-else" (i32.const 0) (i32.const 6)) (i32.const 4))
(assert_return (invoke "as-if-else" (i32.const 1) (i32.const 6)) (i32.const 6))
(assert_return
  (invoke "as-select-first" (i32.const 0) (i32.const 6))
  (i32.const 5)
)
(assert_return
  (invoke "as-select-first" (i32.const 1) (i32.const 6))
  (i32.const 5)
)
(assert_return
  (invoke "as-select-second" (i32.const 0) (i32.const 6))
  (i32.const 6)
)
(assert_return
  (invoke "as-select-second" (i32.const 1) (i32.const 6))
  (i32.const 6)
)
(assert_return (invoke "as-select-cond") (i32.const 7))
(assert_return (invoke "as-call-first") (i32.const 12))
(assert_return (invoke "as-call-mid") (i32.const 13))
(assert_return (invoke "as-call-last") (i32.const 14))
(assert_return (invoke "as-call_indirect-func") (i32.const 20))
(assert_return (invoke "as-call_indirect-first") (i32.const 21))
(assert_return (invoke "as-call_indirect-mid") (i32.const 22))
(assert_return (invoke "as-call_indirect-last") (i32.const 23))
(assert_return (invoke "as-set_local-value") (i32.const 17))
(assert_return (invoke "as-load-address") (f32.const 0x1.b33334p+0))
(assert_return (invoke "as-loadN-address") (i64.const 30))
(assert_return (invoke "as-store-address") (i32.const 30))
(assert_return (invoke "as-store-value") (i32.const 31))
(assert_return (invoke "as-storeN-address") (i32.const 32))
(assert_return (invoke "as-storeN-value") (i32.const 33))
(assert_return (invoke "as-unary-operand") (f32.const 0x1.b33334p+1))
(assert_return (invoke "as-binary-left") (i32.const 3))
(assert_return (invoke "as-binary-right") (i64.const 45))
(assert_return (invoke "as-test-operand") (i32.const 44))
(assert_return (invoke "as-compare-left") (i32.const 43))
(assert_return (invoke "as-compare-right") (i32.const 42))
(assert_return (invoke "as-convert-operand") (i32.const 41))
(assert_return (invoke "as-grow_memory-size") (i32.const 40))
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7c\03\82\80\80\80\00\01\00\0a\89\80\80\80"
    "\00\01\83\80\80\80\00\00\0f\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7c\03\82\80\80\80\00\01\00\0a\8a\80\80\80"
    "\00\01\84\80\80\80\00\00\01\0f\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7c\03\82\80\80\80\00\01\00\0a\8b\80\80\80"
    "\00\01\85\80\80\80\00\00\42\01\0f\0b"
  )
  "type mismatch"
)
